
package com.excesys.exsecs.energy.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.excesys.exsecs.energy.entity.PowerHourFlow;

import java.util.List;
import java.util.Map;

/**
 * 能耗支路总电表按小时流水记录
 *
 * @author zhangtailong
 * @date 2023-12-26 11:01:55
 */
public interface PowerHourFlowService extends IService<PowerHourFlow> {

    Float sumPowerList(String timeValue);


    List<Map<String, Object>> powerAnalyse(String startTimeValue,
                                           String endTimeValue);

    /***
     * 通过时间条件查询每个能耗分区的用电数量
     * @param timeValue params.date 能耗采集时间 params.energyType 能耗类别
     * @return
     */
    List<Map<String, Object>> powerGroupAreaByDate(String timeValue, String areaName, String order);


    /***
     * 通过时间条件查询每个能耗支路的用电数量
     * @param timeValue params.date 能耗采集时间 params.energyType 能耗类别
     * @return
     */
    List<Map<String, Object>> powerGroupBranchingByDate(String timeValue, String branchName, String order);

    /***
     * 按部门、能耗区域、分项、支路 年、月、日分析能耗求和
     * @param timeValue params.date 时间yyyy,yyyyMM,yyyyMMdd params.energyType 01
     * 用电，02用水量，03燃气用量 params.fildKey t2.department_id 部门编号,t2.area_id
     * 能耗区域编号,t2.branching_id 能耗支路编号,t1.model_type 能耗分项 params.fildValue 条件值
     */
    Float powerSumByWhere(String timeValue);

    Float powerByWhere(Map<String, Object> params);


    PowerHourFlow getCostOne(String unitNo);
}
